모의해킹
호스트기반모의해킹_39_윈도우 Unattended 파일 악용
작성자 : Heehyeon Yoo|2025-12-14
# 모의해킹# Post-Exploitation# Windows# Privilege Escalation# Password Hunting
1. 개요
대규모 기업 환경에서는 수백 대의 PC나 서버를 일일이 설치할 수 없으므로, 자동화된 설치(Provisioning) 솔루션을 사용한다. 이때 윈도우 설치 및 설정을 자동화하기 위해 사용되는 설정 파일이 바로 Unattended File이다.
- 문제점: 이 파일에는 초기 관리자 계정 생성, 오토 로그인 설정 등을 위해 Administrator 계정 정보가 하드코딩되어 있는 경우가 많다.
- 위험성: 설치 후 삭제되어야 하지만, 실수로 남아있는 경우 공격자는 이를 통해 손쉽게 로컬 관리자 권한을 획득할 수 있다.
2. 파일 탐색(Discovery)
Unattended 파일은 주로 XML이나 INF 형식을 띄며, 특정 디렉토리에 위치한다.
2.1 주요 위치 및 파일명
- 위치:
C:\Windows\Panther\(가장 흔함)C:\Windows\Panther\Unattend\C:\Windows\System32\Sysprep\
- 파일명:
Unattend.xmlUnattended.xmlsysprep.infsysprep.xml
2.2 탐색 명령어(PowerShell)
# C:\Windows 디렉토리 하위에서 관련 파일 검색
Get-ChildItem -Path C:\Windows -Include Unattend*.xml, sysprep*.inf -Recurse -ErrorAction SilentlyContinue
3. 비밀번호 추출 및 디코딩(Exploitation)
3.1 파일 내용 분석
Unattended.xml 파일을 열어 <UserAccounts> 또는 <AutoLogon> 섹션을 확인한다.
<UserAccounts>
<LocalAccounts>
<LocalAccount wcm:action="add">
<Password>
<Value>UEFzc3dvcmQxMjMh</Value> <!-- Base64 Encoded -->
<PlainText>false</PlainText>
</Password>
<Description>Local Administrator Account</Description>
<DisplayName>Administrator</DisplayName>
<Group>Administrators</Group>
<Name>Administrator</Name>
</LocalAccount>
</LocalAccounts>
</UserAccounts>
- Value:
UEFzc3dvcmQxMjMh(Base64 인코딩된 비밀번호). - PlainText:
false(평문이 아님을 명시).
3.2 Base64 디코딩
리눅스라면 echo ... | base64 -d로 간단하지만, 윈도우 환경(PowerShell)에서는 .NET 클래스를 사용해야 한다.
$b64 = "UEFzc3dvcmQxMjMh"
[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($b64))
# 결과: Password123!
4. 실무 팁
- Sysprep: 시스템 이미지를 일반화(Generalize)할 때 생성되는 잔여 파일들도 주의 깊게 살펴봐야 한다.
- 권한: 대부분의 Unattended 파일은
World-Readable(모든 사용자 읽기 가능) 권한을 가지고 있어, 낮은 권한의 공격자도 쉽게 내용을 읽을 수 있다.